package com.personal.system.service.act;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.personal.system.entity.approval.AuditRule;
import com.personal.system.entity.approval.AuditRuleVo;

import java.util.List;
import java.util.Map;

/**
 * 审批规则Service接口
 *
 * @author hhdd
 * @date 2023-02-17 09:57:45
 */
public interface AuditRuleService extends IService<AuditRule>{
    /**
     * 查询审批规则
     *
     * @param ruleId 审批规则ID
     * @return 审批规则
     */
    AuditRule selectAuditRuleById(String ruleId);

    /**
     * 新增审批规则
     */
    int insertAuditRule(AuditRuleVo auditRuleVo);

    /**
     * 修改审批规则
     */
    int updateAuditRule(AuditRuleVo auditRuleVo);

    int updateState(AuditRule auditRule);

    /**
     * 批量删除审批规则
     */
    int deleteAuditRuleByIds(String[] ruleIds);

    /**
     * 删除审批规则信息
     */
    int deleteAuditRuleById(String ruleId);

    IPage<AuditRule> selectAuditRuleList(Page<AuditRule> pageParam, AuditRule auditRule);

    Object getDeptRoleUser();

    List<Map<String, String>> appDetails(String ruleId);

    AuditRule getAuditRule(AuditRule auditRule);

}
